1. Field of the Invention
The invention relates to an operating method of an out-of-order executive bus system, and more particularly, to a method of forming dependency request links according to dependency constraints in the out-of-order executive bus system.
2. Description of the Prior Art
Traditional bus protocols are all serving requests using an in-order manner. For example, Advanced High performance Bus (AHB) serves requests sequentially according to each request's order. However, such an executive method comes along with a drawback. When dealing with a data transaction with a large data amount, many following transactions will be delayed. When the system becomes larger and more complicated, the in-order executive bus architecture will fail to meet the requirement. Hence, current large-scale systems tend to employ out-of-order executive bus systems, such as Advanced extensible Interface (AXI) and Open Core Protocol (OCP) bus systems. These out-of-order executive bus systems allow the master and the slave on the bus to have more space to process the requests transmitted via the bus. In out-of-order executive bus systems, data are not queued in order. For example, requests transmitted through a command channel and the write data corresponding to the requests transmitted through a write-data channel do not enter the slave in order. Therefore, identification information, such as the thread ID or tag ID, is usually used to deal with the requests which are out-of-order but related to one another. Nevertheless, when these thread/tag IDs are transmitted on the bus out of order, the related requests will not be served in order, and errors will easily happen.
U.S. Patent Publication No. 2007/0067549 (referred to as '549 patent hereinafter) has come up with a related solution that uses the conventional first-in first-out (FIFO) conception to avoid the occurrence of data hazards caused by outstanding write requests and a following read requests, '549 patent buffers related data of the outstanding writing request in a FIFO memory, and when the potential undesired data hazard caused by the following reading operation is detected, the reading operation is paused until the processing of the outstanding write request is done to thereby avoid the data hazard. However, some problems still exist in this conventional solution. For example, when the reading operation is paused, all the following reading operations are also paused, even though there will be no data hazards if those following actions are processed first. For this reason, employing the solution proposed by the '549 patent will decrease the overall performance of the system.